home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 October
/
CHIP 1996 oktober (CD08).zip
/
CHIP_CD08.BIN
/
xfree86.os2
/
x11os2.faq
< prev
next >
Wrap
Text File
|
1996-09-11
|
64KB
|
1,439 lines
The XFree86/OS2 FAQ
-------------------
Version 0.4 30 Aug 96 Holger Veit, Sebastien Marineau
This FAQ represents the knowledge of several hundred mails received since
the release of XFree86/OS2 3.1.2D and 3.1.2E. Before you ask another question,
search here; there is a good chance that your question has been answered
already in this list.
This FAQ has been heavily extended and reorganized since the last version.
Table of Contents
-----------------
1. General Information
2. Installation and Troubleshooting
3. Compatibility, Features, Tips and Tricks
4. Programming and Porting of Software
5. Reported working hardware
6. Known Bugs and Missing Features in 3.1.2F
1. General Information
----------------------
1.1 What is X11, X11R6.1, XFree86, XFree86/OS2?
X11, more precisely called "The X Window System" is a complete
window system that usually runs as the de-facto standard in
Unix environments.
X11R6.1 is the name of the current release.
XFree86 is a port of the X Window System to x86-based systems.
XFree86/OS2 is a particular port of XFree86 for OS/2 based systems.
1.2 Where can I find more information?
Books about X11 exist in any well-sorted CS bookstore.
Some URLs: http://www.x11.org/
http://www.xfree86.org/
http://borneo.gmd.de/~veit/os2/xf86os2.html (XFree86/OS2)
Newsgroups: comp.windows.x.* (X11 specific things)
comp.os.os2.programmer.* (OS/2 specific things)
Mailing list (for XFree86/OS2): see question 1.7
1.3 How complete is XFree86/OS2?
Almost complete. Missing is xdm (because there is no
secure architecture in OS/2 yet - in work), x11perf/xieperf
(because I was to lazy yet to rewrite the various shell scripts).
Other things should be present; but this does not mean that they
work correctly...
For other restrictions, read chapter 6 of this FAQ and the LATEST.OS2
file.
1.4 What are the differences to commercial implementations?
Personally, I am aware of IBM's PMX and Hummingbird's Exceed
product. There may be some more in the meantime. The two products
above differ from XFree86/OS2 mainly in two points:
- you have to pay for them
- they are based on the PM desktop
The latter means that they admittedly fit better into the complete
system, but also that they rely on the implementation of the PM
video subsystem and its performance (which is lousy for certain
hardware).
Also some facilities might not be present, such as background
images, PEX, XIE, DGA, or other X extensions.
1.5 There are so many README files. Which one should I read?
Why? All of them! Seriously: README and README.OS2 are the most
important for the first time. Also read files that refer to your
video hardware (such as README.S3, for instance).
1.6 Is there a specific news group?
There is no newsgroup specifically for XFree86/OS2, if there is
sufficient traffic, we could think about creating one. So far
I am usually available in the newsgroups comp.os.os2.programmer.misc
and comp.os.os2.programmer.porting. After the release, I will also
scan comp.os.os2.setup.misc for XFree86/OS2 specific questions
(including installation problems).
Please avoid cross-posting to other groups, this won't speed up
answers. Many people who have been using the last version(s) of
XFree86/OS2 will also listen in the mentioned newsgroups, and will
be helpful.
Please choose a meaningful subject, preferably containing the word
"XFree86" or "XFreeOS2" in the line.
1.7 Is there a mailing list for XFree86/OS2?
Yes, read http://borneo.gmd.de/~veit/os2/xf86mail.html for details.
If you already know how to subscribe to "Majordomo" mailing lists,
subscribe to majordomo@west.ingenia.com, the list name is "XFreeOS2",
the address for a posting is xfreeos2@west.ingenia.com.
There is also a digest version available, read the above URL.
1.8 YOU MUST HELP ME, I HAVE PROBLEMS!
#exclude <politeness.h>
I "MUST" die some day, as everyone will. But this is the only thing
I really must. The whole project is totally on a voluntary basis,
everyone may contribute, but noone is forced to use the software,
and particularly YOU cannot force any warranty or usability of
the software, or make me do this or that.
Just to make this clear!
#include <politeness.h>
1.9 Where do I get the source code for XFree86/OS2?
For alpha and beta versions, the XFree86 people generally do not
release source code to the public. The next public release is
supposedly XFree86-3.2 to appear later this year (no date known).
If you want to get hands on the source now, become a beta test member
of XFree86. You can request a membership application form from
BOD@XFree86.org.
1.10 Help, I retrieved the latest version via FTP, and it says it is expired!
3.1.2F is an alpha version which is built with the expiry date
Dec 1st, 1996. Other versions expired already earlier this year.
This behavior is standard with XFree86 versions
that have a letter in the version ID (alpha or beta versions).
By the time of Dec 1st, there should be another beta version
or a new release of XFree86 and XFree86/OS2 available. What you
retrieved labeled as the "latest version" is definitely outdated.
1.11 How do I ensure that I have the latest code?
The official bugs page http:/borneo.gmd.de/~veit/os2/xf86bugs.html
lists dates and sizes of the files we consider the most recent ones.
Also this page may point to fixes and updates that you might have to
install. Please report any abuse on FTP and Web servers which claim
to have a more recent version (and don't refer to the pages at
borneo.gmd.de) - this might be a faked and bogus version.
1.12 I have found a bug. How do I report it?
Ensure you really have found a bug, not a feature. Be sure you have
read and understood all accompanying READMEs including this FAQ.
Consult the official bugs page http://borneo.gmd.de/~veit/os2/xf86bugs.html
and verify that this bug hasn't been found yet.
If you appear to have found really a bug, send a detailed
bug report to Holger.Veit@gmd.de. Read Q 1.13 on information I need to
know.
1.13 What do you need for a bug report?
1. a valid email contact. In the past, some contact through the WWW
pages failed because of wrong configured WWW readers
2. The relevant hardware configuration (CPU, RAM, video card, monitor,
OS, fixpacks)
3. The "error.log" file (see below)
4. The "xf86log.os2" file (see below)
5. The "popuplog.os2" file (see below)
6. The "XConfig" file (see below)
7. If suspected, the CONFIG.SYS file
8. A description of the effect and how it can be reproduced
9. Information whether this also occurs on other systems with
same or different hardware, or Linux, etc.
10. 100000 US$ (...no, just kidding...)
- To produce a error.log file, go to some directory and execute
from a PM window (CMD.EXE) the following command:
startx 2>error.log
Type it exactly this way, don't add spaces or comments.
- The xf86log.os2 file will be *sometimes* produced in the same
directory where you created the error.log file. In many cases,
it is not present or empty.
- The popuplog.os2 file resides, if it exists, in the root directory
of the boot partition. If you find one, delete it, and create the
error.log file again (see above). If there is a new one then, it
is from the current run.
- The XConfig file is the /XFree86/lib/X11/Xconfig file produced by
the xf86config utility.
1.14 I have problems with the installation, and don't know if this is a
bug. What to do?
Read section 2 of this FAQ. If there are still unclear problems, first
try to ask in the newsgroup comp.os.os2.setup.misc with a meaningful
subject (only this newsgroup: this is what we read for this kind of
problems). If you are on the XFree86 mailing list, you may also ask
there. Please be concise there though, rather than flooding it with
all kinds of files - some people have to pay for their mail. You'll
be asked for more information, if the problem is not simple.
1.15 Software, I want software!
Look at the ported software WWW page at
http://borneo.gmd.de/~veit/os2/xf86ported.html
whether there is something for you. This page is updated whenever
someone ports something and gives me a pointer (read this page for
submission rules). YOU MIGHT CONSIDER PORTING SOMETHING AS WELL!
1.16 Are there some X11 books?
Sure, ask in your book store. A user's guide is for instance:
Niall Mansfield, The X Window System - A User's Guide,
Addison Wesley
or
The Definite Guides to the X Windows System, Volume Three,
X Window System User's Guide, O'Reilly&Associates
The latter one is part of an eight (nine,ten?) volume documentation
set for the X11 programmer. From my biased point of view of a
programmer, this is the most comprehensive must-have for the serious
programmer (however, it does not belong to the cheaper booksets,
unfortunately).
Your mileage on book recommendations may vary, of course, and there
is much more stuff in the shelves.
2. Installation and Troubleshooting
-----------------------------------
2.1 I have only a FAT file system. The doc says I need HPFS. What can I do?
Well, reformatting your disk, or buying a new one? Sorry,
life ain't easy.
2.2 My video hardware works fine with OS/2, why doesn't it work with
XFree86/OS2?
This is because XFree86/OS2 uses its own video handler, and does
not rely in any way on the OS/2 video subsystem. Infact, we are
investigating, whether it is possible to run without PM entirely.
The sets of supported hardware of OS/2 and XFree86 overlap, but
do not match exactly.
The /XFree86/lib/X11/doc/README file lists supported video hardware.
2.3 I have the video card XYZZY, which is not listed (see Q2.2). What can I do?
In many cases, the XF86_VGA16.exe server will work - if the card is
VGA compatible. This of course does not use its capabilities in most
cases. So, the important thing that cannot be stressed too often
here is:
BUY HARDWARE AFTER CHECKING THAT IT WILL SUIT YOUR NEEDS!
BOYCOTT MANUFACTURERS THAT WON'T GIVE YOU WHAT YOU WANT!
You won't buy a video card coming only with Win95 drivers, when you
want to run OS/2, will you? Specifically request that your video card
is supported by OS/2 and "Linux" (!); in the latter case it will run
XFree86/OS2 as well. Refrain from the latest and fastest super card
from your PC magazine, buy well-known and reliable hardware.
Sorry for you with your XYZZY card.
2.4 The video card XYZZY does not work with any server. Will you write an
X Server for me?
I (nor other people from XFree86/OS2 likely) won't write X servers.
This is the business of the XFree86 core group. We basically take
what we get and adapt it to OS/2 (besides a general bug fixes and
OS/2 dependent improvements). There are three important points to
get a server for the own hardware:
- test hardware is required
- documentation is needed
- a volunteer to do the job is needed
In some cases, the manufacturer refuses to give out specs (such
as Diamond and Matrox); in this case we cannot do anything, and you
are SOL with your hardware.
2.5 When trying to run the system, I get some error message that some
XF86SUP.SYS is not present, or similar. I don't have this thing.
Oh, you have it, you just didn't read the README.OS2 as you were
supposed to. This driver is in /XFree86/lib/xf86sup.sys and needs
to be added as a DEVICE in CONFIG.SYS. XFree86/OS2 won't work without
it.
2.6 What is the XF86SUP.SYS device driver good for?
See also URL http://borneo.gmd.de/~veit/os2/xf86sup.html.
This device driver provides certain essential base functionality
which is probably available elsewhere scattered all over the system.
2.7 Error message "the XF86SUP.SYS driver could not be installed, blurb..."?
What is happening here?
You are sure the path is correct?
You have probably read my EDM/2 article "32 bit I/O at Warp Speed" and
have installed the FASTIO.SYS driver. The XF86SUP.SYS driver is
a superset of this. Remove FASTIO.SYS from your CONFIG.SYS; you won't
need it anymore, XF86SUP.SYS will take over all the functions.
2.8 What does "EMX.DLL not found" mean?
It means you haven't read the docs thoroughly. README.OS2 says
you must get and install EMXRT.ZIP. A suitable EMXRT.ZIP should be
in the directory where the 312F*.zip files are.
2.9 What does "This program requires emx.dll revision 42 (0.9b fix 05)
or later. Please delete or update x:\foo\bar\emx.dll" mean? I do have
installed the latest EMXRT.ZIP file!
It means that there is an outdated version of EMX.DLL still left
in your LIBPATH. We make it even easy for you as we tell you where it
is: in "X:\foo\bar\emx.dll". Remove this file. If you still get this
error message, now with a different directory, you should seriously
consider to clean up your disk to get rid of the various instances of
outdated code.
2.10 When I run "checkinstall" as requested by the README.OS2 file, after
editing CONFIG.SYS, I get countless errors. Why?
Did you reboot after editing CONFIG.SYS? If so, analyze the error
messages that checkinstall tells you. Usually it is right with its
comments!
2.11 I cannot get rid of the message "***XFWARN......." the "checkinstall"
program tells me.
Well, you should. Though XFWARN... denotes a warning. It is not fatal
but you should be aware that this can point out a problem.
2.12 Do I need a fixpack installed? I have none.
Don't fix things that are not broken. If your system works well
without a fixpack: that's great. Don't change anything.
Fixpack 5 contains some recommended fixes. You might consider
to install at least this one.
In the future, you might be forced to install Fixpack 17 (or get
Merlin), because this has certain support which becomes mandatory
in the future.
And yes: fixpacks are cumulative, i.e. a FP with a higher number
contains all fixes of the ones with a lower number.
2.13 I unpacked everything, and now I don't find the xf86config.exe, the server
or the SuperProbe program mentioned in the docs. What happened?
Did you use DOS PKUNZIP? Or did you unpack onto a FAT partition?
And did you read what the docs say about this?
2.14 There is an error box popping up the the "device PTYP0 is not ready".
Help?
Shouldn't happen with 3.1.2E or later any longer. This points out
that you have still an outdated EMX.DLL in your system, or that
XF86SUP.SYS and OS/2 got severely confused. I have seen this twice
since EMX.DLL was up-to-date; in both cases some other effects brought
me to the conclusion that a reboot would be the best solution.
2.15 Something does not work. Can I get more information?
Normally you would start the system by running 'startx'.
This will display a number of messages for a short time. If something
goes wrong, you will likely see it there. To get a permanent
version of these messages, simply redirect them into a file 'error.log'
by starting the system in the following way:
startx 2>error.log
Also read Q 1.13 on a few other files that might exist. The following
questions deal with messages found in these files.
2.16 What is that "XConfig" file everyone is talking about?
This file is created by the "xf86config" program when you install the
system according to the README.OS2 file. It is located at
\XFree86\lib\X11\XConfig. This file is named "XF86Config" on Unix
systems, and may be located in various other places there. It MUST be
in the specified place in XFree86/OS2, in contrast to Unix, though.
This file is a text file, and in some cases you MUST edit things
there (see below elsehere).
2.17 Can you please send me an XConfig file for my BLURB video card and a
BLAH-BLAH monitor?
(This is the all-time favorite FAQ in the XFree86 user mailinglist,
and is as stupid as a request for "a CONFIG.SYS which works with OS/2").
No. There is no free lunch. The cards database lists a few hundred
boards with several options each and there are many monitors as well,
so there are countless combinations of XConfig files. You must go
through the xf86config configuration program for yourself - everyone
else had to do this as well; so don't ask for this.
2.18 What is this XKB option in "xf86config"?
XKB is the "X Keyboard Extension", a supposedly general subsystem to
deal with keyboard layouts for various systems. It is supposed to
replace the old "X modifier map" system (xmodmap). Unfortunately, in
OS/2 this does not work correctly yet, so answer "NO" when asked by
xf86config (xf86config is common code for all XFree86 flavors, so it
can also offer you choices you really don't have). Saying "YES" here
can cause all kinds of subtle bugs. See also Q 2.2*.
2.19 I have specified all things correctly in xf86config, and also my video
card was listed, but it doesn't work. Multiple effects: doesn't
synchronize, horizontal or vertical stripes, mouse movement overwrites
background, etc.
This is one of the cases where you might need to edit the XConfig
file. For many videocards, the file contains option lines in the
"Device" section which are commented out (with a '#' symbol) by
default. These options are named "no_linear", "nomemaccess",
"noaccel", or even totally different. Video cards are often different
even when coming from the same manufacturer and having the same brand
name, but they aren't (some manufacturers are notorious for changing
the horses at full speed while the race is going on). You should try
out options that are listed in this section and use the one which
works for you. Also consult the README.yourservername (e.g. README.SVGA)
if it exists for specific hints.
2.20 Where do I find the parameters of my monitor?
In your monitor manual. If you are adventurous, you could also try to
guess them, but be warned that older monitors can "burn out" and get
damaged if they are fed with wrong input data. So if you find out that
with your settings the picture won't stabilize, IMMEDIATELY press the
CTRL-ALT-BACKSPACE keys.
2.21 How can I get a better resolution than "640x480"?
In 3.1.2E and later, you can switch between the available standard
resolutions with CTRL-ALT-KEYPAD"+" and CTRL-ALT-KEYPAD"-". This does
not neccessarily mean that there ARE other resolutions. With 1MB of
video RAM, you cannot have more than 1024x768x8, for instance you
have not enough video RAM for 1280x1024x8. The X server calculates
the allowed resolutions from the available "Clocks", the video RAM,
the monitor limits, and the available mode lines. This means, if you
have a standard-VGA 14" monitor for 640x480 @ 70Hz, the xserver wcould
refuse to offer you 1024x768, because it would result in sync
frequencies beyond the limits of the monitor. The X server is
conservative here, so it might be still possible to tune the
frequencies to the limits of the monitor manually (see Q 2.23).
2.22 My laptop has a LCD screen which supposedly can do 800x600, but the
server won't accept more, and starts in 640x480 which leaves a 1 inch
border unused (seen on Toshiba laptops).
Warning: your mileage may vary, do this only on a laptop which really
allows 800x600! LCD screens actually don't use horizontal and vertical
sync frequencies, so the X server is over-careful with rejecting them.
You can try to lie about the capabilities and specify unreasonable
30-100Hz and 16kHz-100kHz for the sync ranges, and then the server
should offer you 800x600. There is a gotcha: if you connect an
external monitor to the VGA connector, the sync range applies again,
so you might configure it for 800x600 first, and then the LCD screen
should allow this as well.
2.23 How can I setup a resolution of "1152x900x8", or any other resolution?
The Xserver looks for suitable "Modeline" statements in the XConfig
file. By default, the XConfig file has the standard VESA resolutions.
For a non-standard resolution, you must calculate the 8 numbers in the
modeline manually. Get the file
ftp://borneo.gmd.de/pub/SYDIS/X/fixes/videomod.zip for a documentation
for this.
2.24 The X screen is not correctly aligned, it is shifted to the {right,left,
top, bottom}, too {wide, small, large, narrow}... etc. The presentation
manager screen is "correctly" aligned.
With 3.1.2E there is a (working) utility named "xvidtune" which allows
to shift and stretch the X screen. This will produce a new mode line
which you have to add to the XConfig file in the place of the old
misaligned one. BTW: This program usually won't work with a LCD
display (see also Q 2.22).
2.25 Can I have different resolutions for PM and XFree86?
Yes, no problem, provided you don't reach the limits of your hardware.
2.26 What does "No screens found" mean?
The X server removes all "Modeline" statements from the list of valid
modes which don't work for your video card or monitor. In this case, no
valid line was left. This happens once in a while with some Diamond
S3 cards. Check whether xf86config has setup the "Clocks" and
"VideoRam" lines correctly, and correct them if necessary.
2.27 I have tried to run "X -probeonly" as requested by xf86config and it says
it didn't find clocks. I have a Mach64 card.
Mach64 cards and several others have a "clock chip" which can
synthesize many frequencies. Xf86config therefore recommends NOT to
run "X -probeonly", please read what the program tells you. Some other
cards, for instance SVGA cards have fixed frequencies, you must run
this. Xf86config has been changed to call the correct X server, but
this might not work in all cases. In this case, run it from a CMD
window manually by:
\XFree86\bin\XF86_yourserver.exe -probeonly | grep "Clocks"
and add the corresponding mode line manually to the XConfig file.
Note: this line shows that you need the "grep" program (see also
Q 2.28).
2.28 Xf86config reports "grep failed". What is that?
During probing, xf86config calls the grep utility, which you don't
have installed. Get /os2/unix/grep20.zip from hobbes.nmsu.edu (or
elsewhere). Well, this is the last clue that X11 came from Unix; there
are a few other tools you might need. /os2/unix/gnu*.zip should have
most things you'd encounter.
2.29 I got "1024x768" by switching CTRL-ALT-KEYPAD"+". How do I make this
default?
In the section "Screen", subsection "Display" there is the line "Modes"
which lists all the resolutions that can be switched to with
CTRL-ALT-KEYPAD"+" or "-". Reorder this line with a text editor.
Attention: there are many of these sections, for SVGA, Mono, Accel,
AND for your video card AND for different numbers of colors.
2.30 How do I get a pixel depth of 16 or 24 bits? The server seems to start
with 8 bits only.
Provided your X server supports depths other than 8 (not all do):
Start the X server with the option "-bpp 16" or "-bpp 24". This can
be accomplished by passing this option to the startx command as
"startx -- -bpp 16"
for instance.
2.31 What does "SocketINETConnect() can't connect: errno = 65" mean?
What does "SocketINETConnect() can't connect: errno = 61" mean?
These messages *can* point out a network installation problem, in
many cases they are secondary errors, though, and are really
caused by a different problem. Nevertheless, you should ensure that
your network is setup correctly. Check for other symptoms in your
error.log file.
2.32 A "non-recoverable error occurred. The process ended." or a SYS2070 error
occurs when I attempt to run an X client.
Either one of your X DLLs or the X client executable is defective.
Check the presence of a POPUPLOG.OS2 file in the root directory of
your boot partition; if present it should list the file in error
among the register dump.
2.33 Error message "Couldn't open default PEX font file Roman_M"
This should no longer happen with 3.1.2E (report the converse!).
2.34 Error message "Maximum number of clients reached"
This should no longer happen with 3.1.2E (or at least with much more
than just 10 clients).
2.35 Error message "Couldn't open compiled keymap file ..."
This is an error message from XKB. This unfortunately still does
not work. You must have a line "XkbDisable" in your XConfig file.
2.36 Error message "Unable to load font 'fixed'"
This points out a problem with the "FontPath" lines in the XConfig
file. You must disable (with a '#' at the beginning of the line) all
"FontPath" lines for font packages you haven't installed. Xf86config
will now do this by default during install, but if you add fonts
later, you need to edit XConfig manually.
BTW: it is not sufficient that just the directory is present.
2.37 Where is this "fixed" font? I haven't seen any file with this name.
"fixed" is an alias, which is associated with some font in the
"fonts.alias" file in the directory /XFree86/lib/X11/fonts/misc. The
font is then associated with a file in the "fonts.dir" file in the
same place.
2.38 How can I add a font package, e.g. the "cyrillic font" set?
Unpack it in the correct place, and then manually add a "FontPath"
line in the XConfig file.
2.39 How can I use the OS/2 fonts from the \PSFONTS directory?
This is still a problem. In general, I found that these fonts, i.e.
the .pfb files are compatible to the Type1 font reader built into the
server. You would just have to write a fonts.dir file containing the
mapping between a file name and the 14-part font specifier (see
/XFree86/lib/X11/fonts/*/fonts.dir for all fonts in \PSFONTS. The
problem I detected though is that fonts imported this way apparently
make the system run *very* slow. I have no idea why, but this will
be analyzed further.
2.40 XFree86 works fine, but when I try to switch back to the PM screen, the
screen (X or PM or both) is corrupted.
This turned out as buggy OS/2 video drivers in almost all cases. OS/2
video drivers are supposed to save the complete context (VGA registers
and video memory) when a full screen session is entered. Some lousy
written video driver doesn't save enough, e.g. only the portion of
the video memory that is used by text sessions or the rather
limited amount used by the supported WinOS/2 screen resolutions.
There is no good solution for the problem, as Video DD writers seem
to experiment a lot, which means that an older video driver might
have this problem fixed, whereas the latest version may no longer
work. Please complain to your card vendor. If they are interested in
satisfied customers, they should deal with the problem. Please
refer to me and the XFree86 group when you describe the problem. We
know enough about the way XFree86 and OS/2 work together to understand
that the problem is on the OS/2 video driver side.
2.40 Why does Watchcat screw the screen colors?
This is a current bug/limitation of the Xserver. When Watchcat
(or any program which uses the popup mechanism in OS/2) is invoked,
the current palette is not saved. Screen corruption may also occur.
This will only affect pixel depths where a palette is used (4bpp and
8bpp).
2.41 The OS/2 server does not find my configuration files, but I have
placed them in the correct locations as for my Unix X servers.
XFree86-OS/2 stores all configuration files in a common
directory. This is X11ROOT:\XFree86\lib\X11, where X11ROOT is an
environment variable which contains the drive letter the directory
tree is located. The common places like /usr/X11, /usr/X11R6,
/usr/XFree86, /etc which are used for XFree86 in various Unix
flavors, are not supported to avoid the mess they have caused in
the past.
There, you should put your Xconfig file, the color database (rgb.txt),
the host authorization files (X0.hosts), and various other files.
2.42 I redirect stderr to a file to capture the diagnostic/error messages
from the server, but after the video mode gets set, I do not get any
more messages. What is going on?
After the video mode has been set, stderr gets redirected to a file
called "xf86os2.log". You can find the rest of the server messages
there.
2.43 The server does not start when my TMP directory has a trailing backslash
character.
Right, this is an oddity. Remove the trailing backslash. BTW:
did you run "checkupdate"?
2.44 Some clients complain that they cannot write to the TMP dir.
Right, TMP must reside on HPFS. BTW: did you run "checkupdate"?
2.45 When I use xconsole, there is always a warning message in the first line.
What is that?
You mean the text "Warning: process PID=????? is accessing
/dev/fastio$", right? This is an intentional notification that some
process uses the fastio device to perform access to I/O ports. It is
also intentional that this message cannot be disabled. As long as the
PID is the process ID of the X server, everything is okay. If the PID
belongs to another, unknown process, you should seriously ask the
author of the program what he/she is doing with your hardware.
2.46 I found that killing the X server or the window manager won't work
well to end X11. How can I shutdown X11?
Yes, we know it is a problem, mainly related to signal handling that
is not fully compatible to Unix signaling as well as some differences
in session semantics. XFree86 is not really intended to be started up
and shutdown all the time (this is BTW bad manner of users who were
accustomed to have only one program open under Windows, because a
second one would fail running out of resources). If you don't need
XFree86 for a moment, just leave it running in the background -
eventually it will be completely swapped out in the swapfile, and you
won't need to bother about it eating up resources).
Part of the problem is that clients started in xinitrc.cmd remain
under PM control (i.e. its parent is PM, not xinit, as intended), so
when X goes down, it doesn't destroy these clients with it.
Currently the following methods appear to work: pop up the window list
(CTRL-ESC) and close the xinitrc.cmd process. If this does not help,
close the other remaining X processes in the same way. Alternatively
to the close function of the window list, a process kill program
(killem, killit, pmkill, etc) or Watchcat should also work.
2.47 Sometimes some X11 process is still around after shutting down. Bug or
Feature?
More feature (of OS/2) than bug. See Q 2.25. We'll try to improve
this. For now remove the process with a method described in 2.25.
2.48 How can I uninstall XFree86/OS2?
You really dare to ask? Ok, if you want to do this: there is nothing
special with uninstalling, because there are no INI file entries
to be removed.
1. Exclude the driver XF86SUP.SYS from config.sys, and if you like,
also the environment variables that were set during installation.
Attention: some of them are necessary for proper TCP/IP networking.
2. Remove the complete tree \XFree86.
2.49 How can I uninstall specific packages of XFree86/OS2?
You don't like it, do you? Currently there is no way to specifically
remove packages, but this is planned for the future. For now,
simply list the ZIP archive where the files were coming from and
manually remove these files.
2.50 The server does not find my IAK localhost network?
Be sure that the line to be entered in \tcpip\etc\hosts ends
with a newline.
2.51 I have added a new font directory, but now the X server complains with the
message "Font path component expected". This directory does exist!
You must put the path name behind the FontPath keyword in double
quotes (").
2.52 What does the error message "_X11TransOs2OpenClient: Open server pipe
\PIPE\X\xf86.0 failed" mean?
This is for the local named pipe communication the same problem as
Q 2.31 is for the network connection. It basically means: the server
crashed for some reason, and now a client, e.g. xterm cannot connect
to the server. The real reason is probably hidden somewhere else in
the XConfig file.
3. Compatibility, Features, Tips and Tricks
-------------------------------------------
3.1 Can I ...?
3.1.1 ... run PM and WPS programs?
YES, but not on the X11 desktop yet.
3.1.2 ... run DOS programs?
YES, in another fullscreen or PM windows session.
3.1.3 ... run Windows programs?
YES, in a fullscreen DOS session or seemless under PM.
Someone volunteering to port Wine?
3.1.3.1 ... run Win95 programs?
You are kidding. Go back playing with your LEGO toys.
3.1.3.2 ... run DOOM?
By default, the answer is NO.
3.1.4 ... exchange data between PM and X11?
Not yet, but if someone with the knowledge implements OS/2 DDE
in xclipboard... would be a valuable addition.
3.2 Yes, but ...
3.2.1 the commercial Xserver implementations appear to be able to allow
all the above things?
The commercial X implementations are based on the PM desktop, and
can therefore use certain facilities available there. The price
you pay for this is not just financial, but mainly speed.
And no, the commercial Xserver implementations do not allow all
these things; read their docs, not their ad flyers.
3.3 Are the XFree86/OS2 DLLs compatible to the IBM PMX or Exceed ones?
No.
3.4 Will you make them compatible to IBM PMX or Exceed (...so that I
won't have to buy their development kits...)?
No. It is not possible. PMX is outdated X11R5, and Exceed is
just X11R6, but not X11R6.1. Furthermore, both vendors on one hand
and I on the other hand have modified the X11 libraries in certain
ways, so even with the same naming conventions and numbering of API
functions we cannot reach plug-in compatibility.
3.5 Can PMX and other X clients connect to the XFree86/OS2 server?
Yes, this works without problems. Note that if a XFree86 client
connects to a PMX server, be aware that PMX is X11R5, and XFree86
is X11R6, so certain things won't work which require R6 features
or XFree86 extensions. As an example, "xvidtune" won't work with
PMX or Exceed, because it uses a specific XFree86 extension of the
X server.
3.6 Can you use PMX and XFree86 simultaneously?
Yes, just make sure you avoid name clashes. PMX installs files in
\TCPIP\DLL and \TCPIP\BIN which cause name clashes and obscure crashes
of XFree86 X clients, so to run XFree86 with an installed PMX, you
must have \XFree86\bin before \TCPIP\BIN in your PATH, and
\XFree86\lib before \TCPIP\DLL. Read about BEGINLIBPATH in your
OS/2 command reference manual.
You should run the PMX server on display :0 and the
XFree86 one on display :1 (attention: the startx.cmd has this coded
to :0 by default).
3.7.1 How can I display remote clients on XFree86/OS2, e.g. from a Linux
system?
You must have a network connection to Linux, this is obvious. OS/2
must run the X server, the remote system may, buy doesn't need to run
a server. You must give the remote system permission to display
windows on the OS/2 server, by executing
xhost +remotesystemname
on the OS/2 system (enter this in a OS/2 CMD window, add this to the
startx.cmd file, or add it to the X0.hosts file). You must tell the
remote clients to use the OS/2 X server as a display by starting them
with the standard "-display" option, e.g.
xterm -display os2systemname:0.0
(you can also set the global environment variable
DISPLAY=os2systemname:0.0
on the remote host).
3.7.2 How can I display OS/2 X clients on a remote system?
See Q 3.7.1, just vice versa.
3.8 How can I enable authorization for host foo.edu without using xhost?
Create the file X0.hosts in \XFree86\lib\X11. To enable connections
from a certain host, add in a line containing "inet:hostname" to the
file. For example, your file may look like this:
inet:foo.edu
inet:friendly.host.edu
..
Note that the "X0" refers to the zero in the display name
"os2systemname:0", i.e. in the case of Q 3.6 this would become a
X1.hosts then.
3.9 How can I connect to a remote XDMCP host?
This is needed in some university and corporate environments. You
can start the X server with the option -query xdmcphostname" for this.
3.10 Where is XDM? There is only a man page for it.
Yes, it is not yet ported; certain infrastructure is still missing.
3.11 Can I use another shell like 'bash' in place of CMD.EXE in an xterm?
Most shells are subtly incompatible with the PTY mechanism used
in xterm. A symptom may be that they won't work either if you
redirect console I/O to a COM terminal which should be possible.
'bash' is such an incompatible shell. See also Q 3.11 and 3.13
3.12 I use 4OS/2 (or some other shell) as my shell. Will it work in xterms?
4OS2 has a number of misfeatures, politely spoken, in xterms. We
attempt to fix this in the future. For now, don't use it in an an
xterm. If 4OS2 or another shell is in your OS2_SHELL or SHELL
variable, please add an environment variable named X11SHELL to point
to a valid CMD.EXE path, e.g.
SET X11SHELL=D:\OS2\CMD.EXE
in your config.sys. This will override the OS2_SHELL or SHELL setting
which is used otherwise.
3.13 Why does \OS2\MORE.COM give a SYS0447 in an xterm?
This is a program which silently assumes it has access to the
keyboard and the screen: it uses functions from KBDCALLS, MOUCALLS,
or VIOCALLS. There are more programs of this kind, for instance:
most *.COM in \os2, ATTRIB.EXE, BACKUP.EXE, CACHE.EXE,
EAUTIL.EXE, FIND.EXE, HELPMSG.EXE, LINK.EXE, LINK386.EXE, PATCH.EXE,
PSTAT.EXE, REPLACE.EXE, RESTORE.EXE, SETBOOT.EXE, SORT.EXE, SPOOL.EXE
SYSLEVEL.EXE, TEDIT.EXE, TRACE.EXE, UNPACK.EXE, XCOPY.EXE, XDFCOPY.EXE,
but also unfortunately TELNET and FTP, and some others; infact,
almost any 16 bit application is a possible candidate. Note that
CMD.EXE is a clean application.
You can use the EWS utility EXEMAP.EXE to check if these DLLs are
linked in.
Note: the existance of these DLLs does not mean that the program does
not work at all, actually EMX itself is a DLL that could call KBD
API functions but usually does not in the X11 environment.
However, certain unexpected effects may occur in an xterm.
I'll try to find a workaround for this in the future, but don't
count on this.
3.14 FTP seems to work in an xterm, but it does not hide the password?
This is a side effect of what was described in Q 3.13. So actually
FTP does NOT work.
3.15 Is there a replacement for telnet which works?
You may try out x3270, available from the ported software WWW page
(Q 1.15).
3.16 Will there be a PM-based Xserver, like PMX, in XFree86 in the future?
This was discussed, and there appear to be arguments in favor of it;
but there must be someone who wants to work on this.
3.17 Does the server support OS/2 fonts? How do I set those up?
(3.1.2D) You mean Adobe Type 1 fonts, such as in C:\PSFONTS?
Support for this was built into the servers, but we have yet to
verify this.
3.18 How can I run other apps initially?
You can configure the file X11ROOT:\XFree86\lib\x11\xinit\xinitrc.cmd.
This is an editable REXX script. Usually you will only modify the
section "start some nice programs". You should use 'start/min' to
run the command and put all arguments in '' or "", because REXX
may come to the wrong conclusion to interpret certain commands.
The last command before the exit must be started without the
'start/min'. If you kill this program, X11 will shutdown. In 3.1.2E,
this is configured as 'twm'. So if you select exit on the root menu
of twm, it will shutdown XFree86/OS2. Please read Q 2.46 about some
gotcha.
3.19 Does XFree86/OS2 support LBX (low bandwidth X)?
The last (non-OS/2) version of XFree86 had a special data compression
feature for transferring X protocol packets over slow modem lines,
named Low Bandwidth X. This option has been withdrawn by the
X Consortium due to various bugs. A replacement will be possibly
added again in the future, but it is not supported now.
3.20 Can it be run over modem lines anyway?
Yes, besides the speed problem this is possible provided you
have a correctly configured SLIP or PPP connection using TCP/IP.
Pseudo-SLIP, such as 'term', or kermit does not work (just before
someone asks). But even with 28,8K it is no fun without packet
compression (see also Q 2.15).
3.21 Can I use the XF86Config file from Linux or *BSD?
Yes, if it is a 3.1.2D XF86Config file, and if you change the
mouse protocol entry to "OSMOUSE" and remove the mouse device
line. Note the config file is named "XConfig" in OS/2, not
"XF86Config".
3.22 I heard about special features in an xterm...
Yes, there are line editor functions built into the XF86SUP.SYS
driver which you will mainly encounter in the xterm. The following
functions are available currently:
CRSR<-, CTRL-B: back one char
CRSR->, CTRL-F: forward one char
CTRL-H, DEL<-: Delete char to the left
CTRL-U: clear entire line buffer
CTRL-A: cursor to beginning of line
CTRL-E: cursor to end of line
CTRL-K: kill to end of line
CTRL-V: Quote next char, i.e. next keystroke is added
to the buffer without interpretation
DELETE (keypad): Delete char on cursor position
INSERT: Toggle insert mode
CRSR ^, CRSR v: retrieve last command (history feature)
3.23 But these features of A 3.22 do not work for me?
You have an old version of XF86SUP.SYS installed. You need
version 1.432 or later. A usable version is always in the file
*BASE.ZIP in the XFree86 distribution, even if a XF86S*.ZIP
containing the driver source is not available. The XF86SUP.SYS version
1.420 from 3.1.2D does not have all features.
3.24 The "history feature" described in Q 3.23 has some rough edges.
Right, there are still a few bugs in XF86SUP.SYS. Will be fixed
sometime in the future. It should not crash, at least.
3.25 When I switch from PM to X, the first line I enter in an xterm
results in garbage.
See answer to Q 3.24.
3.26 My software needs three buttons, but I have only a 2 button mouse.
Enable the lines "Emulate3Buttons" and Emulate3Timeout 50"
in your XConfig file. The third button is then activated by
pressing both buttons simultaneously.
3.27 Can I swap the mouse buttons for a "lefthanded mouse"?
Yes, use the command
xmodmap -e "pointer = 3 2 1"
on a command line or in the xinitrc file or make an Xmodmap file
for that purpose.
3.28 My national keyboard does not work, it has the US mapping, e.g. 'y' and
'z' swapped on German keyboards.
Since XKB does not work yet, use the old fashioned method of an
.Xmodmap file. Startx.cmd is prepared to look for the file
/XFree86/lib/X11/xinit/.Xmodmap (provided you haven't rewritten it).
You find sample files in /XFree86/lib/X11/xmodmap/Xmodmap.* for
various countries. If you write a new one which is not yet in the
distribution, please send it to me (Holger.Veit@gmd.de) for
inclusion into the next release.
3.29 Can I use the xmodmap file from Linux or *BSD?
Yes.
3.30 Can I use the one that I use at work for the SGI, HP, Sun, AIX machine?
Likely not, this is the problem with Xmodmap files: they depend on the
X server's idea how to assign keyboard (scan) codes to keys.
3.31 The ALT-GR key on some european keyboards does not work.
Add the following to the .Xmodmap file:
clear Mod1
clear Mod2
add Mod1 = Alt_L
add Mod2 = Mode_switch
3.32 How do I configure xman?
Xman uses the following conventions:
- It searches for man pages in the directories specified in the
MANPATH environment variable. This is a semicolon (';') separated
list of directories of the structure
drive:/dir/.../man1
/man2
/man3
...
Not all chapters man1-mann need to be existant.
If you have installed 312Fman.zip, you can see the structure under
\XFree86\man.
- Preformatted pages are compressed with gzip (.gz extension).
Such preformatted pages are produced from unformatted pages with
tbl file.man | neqn | groff -man | gzip >file.gz
- Unformatted pages are not compressed and have the extension
corresponding to the chapter number of the man directory, e.g.
in \XFree86\man\man1 this would be "1", like "grep.1".
- If you have unformatted man pages, you must have the groff utilities
installed (groff, neqn, tbl).
- If you use only preformatted manpages, you need 'cat' and 'gzip'.
Both utilities are available from hobbes.nmsu.edu.
4. Programming and Porting of Software
--------------------------------------
4.1 I have some cool X fonts from other X11 systems. How do I convert them
to the ".pcz" format?
The ".pcz" is exactly the same as the ".pcf.Z" format known from
Unix. Just rename your files, copy them to the font directories
and run the 'mkfontdir' utility.
4.2 Where is the contrib kit? Should I port it?
(3.1.2D) The contrib utilities are not yet part of the distribution;
they will become available later. Don't port them, they are already
on my disk.
4.3 I have found a cool X utility which I want to port. How should I proceed?
Normally, with X utilities, you get an Imakefile. Simply proceed as
if you were under Unix. Run 'xmkmf -a' to compile. Read the
programming section on special issues.
4.4 Is there a utility for...?
If you don't find it in the the distribution, or on the ported
software page (Q 1.15)
Ask whether someone is already porting it, e.g. in the
newsgroup comp.os.os2.programmer.porting; if not, then do it yourself.
Applications don't appear magically, unless someone really ports them.
So why not YOU?
4.5 Are there games...?
See Q 4.4.
4.6 Will you port XFree86 to Windows, NT, Win95?
NEVER!
4.7.1 Is there a better window manager than twm?
There are a number of them, e.g. ctwm and fvwm, available through
the ported software web page.
4.7.2 Why is FVWM (Q4.7.1) not the default window manager? It has many
advantages, e.g. ...
It is available on the ported page, so if you want it, get it. The
distribution reflects what is in the core part of X11R6 which offers
twm by default. There is more stuff that would be worth becoming
part of the standard, such as xv, but ...well, it isn't...
4.8 Do you plan to port Motif?
Sigh. The problem with Motif is that it is owned by a consortium
that collects money with licensing Motif. I have a copy of the
Motif source code and I expect that it won't be much more complex
to port than the public X11 libraries, now that I know how to do
this. The problem then is that I cannot give out the code or put
it on an FTP server, not even diffs. I don't have the time nor
resources to open a business that sells licenses of the libraries
to anyone interested and collect the royalties to the Motif Open
Software Consortium. Initially, I thought I would simply make
binaries, encrypt them and put them on a FTP server. People or
institutions that give me a proof of a valid Motif license would
then get the decryption key. I was told, however, that this scheme
would be juridically suspicious.
So, this may be a point where companies, for instance, who are already
involved in the Motif business could jump in, and offer the missing
link. I have neither interest nor time to manage this.
For now, I would recommend that someone takes over the task of
porting Ousterhout's TCL/TK, which at least gives a Motif look&feel
and should now be pretty simple with the X11 APIs.
I remember that there was also an initiative to make a free clone
of Motif, but I don't remember details and status. Can anyone help
here?
4.9 XFree86/OS2 is free, but copyrighted software. Is commercial software
based on this allowed or welcome?
XFree86/OS2 requires the use of the GNU gcc compiler. There may
be certain restrictions and side effects involved concerning the
GPL and the use of certain libraries. I won't discuss this here,
but I would have no concerns regarding this.
If you aren't concerned either: Yes, commercial applications are
allowed and welcome. THIS IS YOUR CHANCE!
4.10 Will there be a version for the PowerPC and will there be support for
the next version of OS/2 (Merlin)?
I haven't seen OS/2 for the PowerPC yet, and IBM is quite busy to
keep it secret (I won't follow the FUD that it is dead). If there
is a public version available and the hardware in a reasonable
price range, I'll consider having a look at it.
Currently the system relies on certain properties of the OS/2
implementation on Intel machines, so some changes will be necessary.
I haven't seen Merlin yet either, so I won't guarantee it will work
with it. Given the compatibility of OS/2 versions so far, I don't
see a real reason why it would not work under Merlin, but if not,
I am optimistic to find workarounds.
4.11 Are there static versions of the X libraries?
Yes, they are separeately available in the package 312FSLIB.ZIP.
The libraries have been renamed to *_s.a to distinguish from the
DLL forwarder libraries.
4.12 Will there be singlethreaded libs?
No. GCC is free software, and most stuff written for it is also
freely available. Recompile any singlethreaded libs you want to
link to a X application.
4.13 I want to have support for a commercial compiler, because I do not
want to use gcc.
You want a version for a commercial compiler? No problem: write one.
4.14 Will the DLLs link with Watcom, Borland, Cset, VAC++, Metaware?
In theory, yes; the calling convention of the API functions is
"_System". However, there may be a large number of EMXisms in them
which may prevent running. You need the EMX runtime DLLs anyway.
4.15 Why must I use GNU make? I am accustomed to XYZmake which has very nice
features.
Well, Imakefiles also have nice features, particularly that they
expand to Makefiles that may have several thousand lines. I have
tested numerous make programs: all but GNU make failed this benchmark
somehow. You are accustomed to XYZmake; let's say, imake is
accustomed to GNU make.
4.16 Are there special porting considerations?
Some things occur again and again:
- Use the Imakefile and do not try to handcraft or patch a
Makefile. Things will go wrong!
- Read about the macros ProgramTargetName() and LibraryTargetName()
and use them in the Imakefile, rather than hacking .exe and .lib
names. The above will work, hacking won't.
- Compile and link everything with the -Zmtd option, the libraries
are multithreaded by intention.
- Use "#ifdef OS2Architecture" in an Imakefile to specify an
OS/2 dependent part.
- In source or header files, exclusively use "#ifdef __EMX__" for
OS/2 EMX specific parts. Don't use other symbols, such as
"OS2", "__OS2__", "i386", "__GNUC__", or "__32BIT__".
Use only #ifdef, #else, #endif, not #elif, as some other compilers
don't support this.
- If you think there is a bug in the provided X11 include files,
you are doing something wrong.
- Many Imakefiles silently assume they are running under Unix,
and therefore have program and library names hardcoded in.
Use the LibraryTargetName and ProgramTargetName macros to wrap
libs and programs, such as in
EXTRA_LIBRARIES = ../Xpmlib/LibraryTargetName(Xpm)
PROGRAMS = ProgramTargetName(xterm) ProgramTargetName(resize)
- Unix does not have drive letters, so a file (resources, fonts,
config, etc.) path starts with '/' normally. XFree86 is located
in a tree below %X11ROOT%\XFree86\... To prepend the X11ROOT part
to a file path, a special function named __XOS2RedirRoot exists
which you are supposed to use in these cases rather than an insane
own solution. The prototype of this function is:
const char* __XOS2RedirRoot(const char* pathname);
- Don't reinvent the wheel concerning environment variables. Use the
ones that are described in the installation file README.OS2, rather
than invent yet another variable name for USERs, HOME directories,
TMP directories, etc.
- Although the rule was broken multiple times already in XFree86/OS2,
try to make your filenames comply with the 8.3 file name convention,
so that users may relocate them to elsewhere.
- The libraries are multithreaded EMX libs for certain reasons. This
causes a few side effects, particularly if fork() is involved.
I got fork running in several situations, but it is no fun.
Try to rewrite this code where possible (well-meant advice).
- Many software from Unix assumes that lines have '\n' as a
line delimiter. The X applications are linked with
\emx\lib\binmode.o. Don't change this, some code relies
on this. Rather rewrite the code to accept '\r\n' as a line
delimiter.
- You may use all Dos* API functions, as long as they don't conflict
with EMX somehow (e.g. _beginthread vs. DosCreateThread). Stay
away from Kbd*, Mou*, Vio* calls - none of those will do what you
expect, but you can severely influence the operation of the X11
system.
- If you must do port I/O, use the functions from xf86sup.sys for
this; this driver is there anyway, so why not take advantage
of it? Common precautions for directly accessing hardware apply.
- Code that relies on Unix security, job control, tty/pty handling,
needs major rewriting. In most cases, it is easier to make a
separate file for OS/2 rather than clutter the original one with
#ifdef clauses.
- X11 executables must be linked as "WINDOWCOMPAT" and "EXETYPE OS2"
(the only exceptions are the X servers and xinit).
- XFree86/OS2 by default does not have 'sh', so rewrite Unix shell
scripts to REXX cmd files. Don't rely on others to install 'sh'
or other tools just for you.
- If you want to contribute other software, please follow these
guidelines for making your distribution zip file:
- Use OS/2 zip for packing, even if some foobar packer gives you
1 % better compression. Don't use tar and gzip.
- If you use an Imakefile (which is common practice with X apps),
set the X11ROOT variable to another letter than the one where you
have your X11 tree. This makes it easier for you to combine
all necessary files into a distribution.
- Use exactly the same tree structure as XFree86/OS2 is using
Don't reinvent wheels and install to /usr/local/bin or similar, or
rely on users to edit config.sys to change the PATH or DLL PATH.
- The last section means that the directories in your archive
should be rooted to /XFree86.
- Put sources in a separate archive, not in the binary release,
and root this archive at /XFree86/src/PACKAGENAME, e.g.
/XFree86/src/xfoo-0.42.
- The reason for all that is that I want to engage Software
Installer in the future to improve the installation procedure.
This should integrate all contribution packages as well. I'll
reject non-conforming contributions without warning.
4.17 'make' does not work.
MAKE is a REXX cmd script which is installed in \XFree86\bin. This
script sets certain important variables and then calls the x11make.exe
program (which is gnumake 3.71) which is known to work.
You have some other make.cmd or make.exe somewhere in the path. If
you do not remove or rename this, you won't be able to compile
X11 code successfully.
4.18 When I start an application I have compiled myself, the speaker beeps.
Use an Imakefile. You have not passed the correct options to gcc.
The most simple Imakefile to compile a client with just one
source file "foo.c" looks like this:
======snip========================
SimpleProgramTarget(foo)
======snip========================
which will produce about 600 lines of Makefile.
4.19 How do I make a XFree86 compliant DLL?
The 3.1.2F distribution contains sample files from the original
XFree86/OS2 code to build the library Xext.dll (a small DLL; it does
not contain the Xext source files, though). Take this as a reference
how to build an own DLL. Note that you still need some secondary
literature on special features of Imakefile rules. A recommended
book on Imakefiles is available from O'Reilly&Assoc publ. (Using imake).
Ask in your bookstore.
4.20 How do you make the packages of ported software?
I use RCS (available from hobbes.nmsu.edu) to make copies of each
file before I modify it the first time. Later I use the modified
files to produce context diff files using rcsdiff.
When I managed to get some code working, I run 'make install', and
'make install.man' which will usually install all necessary files in
the right place. When I think the code is working correctly, I do
the following: I change the X11ROOT variable in a CMD window to
something else, e.g. from X11ROOT=d: (which it is on my system by
default) to X11ROOT=c:, and run 'make install install.man' again.
This will build the tree of files again on C: where I can easily
pack it with the zip utility after adding README files and diff files
manually.
5. Reported working hardware
----------------------------
The following condensed reports were extracted from numerous email
conversations, for your reference. I have anonymized them to protect
email conversation and people (note: I won't make the names and email
addresses available to anyone else even if some company might find such a
list attractive for advertising). I haven't verified many of them
of them personally, but you can draw a conclusion about hardware which
is in use (rumor was that a P100 with 32MB were not sufficient). It may also
serve as a reference for video card manufacturers to understand where the
market is with OS/2: If you don't care about OS/2 and X11, then high-end
users as the ones interested in both OS/2 and X11 will choose better
supported products. IMHO, the list below gives a clear answer.
Thanks to all people who responded and now recognize their system mentioned
here.
- 486-DX2/66 24MB RAM, Microchannel, XGA-2, Warp blue, AGX server, 1024x768
- P75, ATI Mach64 XPression, TCP/IP 2.0 with CSDs, Fixpack 17, Warp red
- ATI Mach64 4MB VRAM, Warp Connect FP 17, 800x600, PM 1280x1024
- 486-66 20MB, Diamond Stealth 64 DRAM 2MB (S3 864)
- 486-66 16MB, CirrusLogic GD-5430, SVGA server, Warp Red FP17
- P100, Triton, 16MB RAM, ATI Mach64 Expression AT&T20C496 RAMDAC
Warp Fullpack FP17
- 486-50, Mach32 ISA
- 486-66, 16MB, Cirrus 5428 VLB, SVGA server, 1024x768 @ 35.5khz
- Gateway 2000 P120, 40MB, ATI Winturbo, 1024x768x8
- Shuttle HOT-433, 486-80, Mach64
- 486-66, 24MB, Cirrus 5434 2MB, SVGA server, Warp Connect FP17
- P60, 32MB, ATI Mach64 Expression PCI 2MB, Warp Connect
- 486-66, 16MB, #9 GXE64 Pro VLB, S3 Server, Warp Red FP 17
- Dell P90, #9GXE Pro, S3 Server
- 486dx4/100, 16MB, miro Crystal 12SD Trio32, S3 server, Warp Connect
- 486-66, 32MB, SPEA Mirage P64 VLB 2MB, Trio64, S3 Server, Warp FP17, TCP/IP 2.0
- 486-66, 32MB, CLGD5426
- IBM Thinkpad 755CD, WD90C24A
- P75, 16MB, Matrox Millenium, VGA16 640x480, Warp Red, FreeTCP
- P90, 16MB, Mach64, Warp red, FP5, 640x400
- 486-66, 20MB, Diamond Viper, Warp red, FP17
- P100, 32MB, S3 864, Warp red, FP17
- - Orchid Fahrenheit S3 864, S3 and Mono Server.
- IBM PS 6384, 486SX/33, S3 805/ATT C491 RAMDAC, 1024x768x8
- 486DX33, 16MB, ATI Graphics Vantage, Mach8 server, Warp blue
- Cyrix 486DLC-40(386 board), ATI Graphics Ultra, Mach8, Warp red FP17, FreeTCP
- 486DX4/?, 16MB, S3 805 VL-41, Warp
- 486-66, 16MB, ATI Mach64 2MB, Warp red
- Dell Dimension P100c, #9 GXE64, Trio64, 2MB DRAM
- - STB Powergraph 64 PCI, S3 Trio64V+, rev 531
- P90, 24MB, Graphics Pro Turbo, Mach64 Server, Warp Connect FP17
- 486DX33, ET4000 ISA, SVGA server, Warp red
- Gateway 2000 486-66, 24MB, ATI Graphics Ultra Pro, Mach32, Warp red
- 486-66 16MB, Cirrus Logic CLGD5426, SVGA Server, Connect FP17
- P90, 32MB, ET4000/W32p with STG1700 RAMDAC
- 486DX50, 16MB, ET4000 VLB, Connect FP17
- 486-66, 20MB, Genoa Phantom 64, S3 864, 2MB
- 486-100, 20MB, Cirrus Clogic VLB 5428, Connect FP17
- 486-66, 16MB, Hercules Dynamite ET4000/W32p rev A 2MB, Connect FP17
- P100, 32MB, ELSA 2000 AVI PCI, 4MB, S3 Server, Connect FP 17
- 486-80, 20MB, Graphics Ultra Pro, Mach32 2MB, Connect
- P90, 16MB, Diamond Stealth Video DRAM, S3 server, Connect
- P120, 32MB, ATI Mach64, 2MB
- 486DX33, Diamond Speedstar plus, SVGA server, Warp red, FP17
- - Diamond Stealth 64VLB 1MB DRAM, Warp red FP17, FreeTCP
- 486DX2-?, 20MB, Graphics Pro Turbo VLB, 4MB, Mach64, Warp red
- 486DX33, 16MB, ET4000, SVGA server, Warp red FP17
- P90, 32MB, SPEA Mirage P64 PCI, 2MB, S3 server, Warpserver beta1
- 486-66, 16MB, Genoa 8500 VL, CL5426, 1074x768x8, Warp red, FP17
- P166, 48MB, ATI Mach64 4MB
- IBM Thinkpad 370C, WD90C24, SVGA server, 640x480x8
- - Cardex Challenger ET4000/W32p VLB, Warp red, FP17
6. Bugs
-------
Is there information about bugs and will there be "fixpacks"?
Yes, the most recent information about bugs will be available via
http://borneo.gmd.de/~veit/os2/xf86bugs.html (sometimes updated
every hour or day). The HTML files linked in this WWW tree are
available through FTP as well: borneo.gmd.de /pub/SYDIS/X/html/*,
fixes that become available are at /pub/SYDIS/X/fixes/*.
Because of my workload in the last months, there are only few changes
to the buglist from 3.1.E to 3.1.2F, so the list below is almost the same
as with 3.1.2E. Sorry.
I hope to fix some more things though after the critical release date 1st Sept,
and likely release some fixes.
3.1.2F, OTOH, contains several hundred improvements and more supported hardware
from the XFree86 core release, so it might be valuable for people who had
difficulties with 3.1.2D and 3.1.2E. So far 3.1.2F mainly keeps the ball
rolling when 3.1.2E expires on 1 Sep 96.
--- Some program does not read its resources, fonts, help files, or other
files correctly.
(3.1.2D) This is a bug and is related to the effect that the X11
came from Unix with a single root-based file system, in contrast to
OS/2 which uses drive letters. There are numerous locations where
such file paths exist, and each location needs prepending a drive
letter (see Q 5.4). Try the following: run the X server from the
same drive your XFree86 tree is on; if the problem disappears,
you have found yet another location we forgot to change. Send us a
detailed bug report.
Another source of problems are files which contain CR-LF as a
line delimiter. We have to fix this the hard way unfortunately;
for well-defined reasons programs are linked with \emx\lib\binmode.o.
You might try to convert offending files to the Unix convention
with the program \XFree86\lib\X11\etc\fixcrlf.exe.
fixcrlf filename
This will convert the file in place. Never apply this program to
executables, fontfiles or other binaries.
We need a bug report for the program anyway.
--- Some Imakefiles won't work.
Not all Imake rules have been converted, only those which are really
in use for rebuilding the X11R6 code. This should cover the majority
of common X applications. If you find a rule which fails (indicator
is that there is no replacement in os2.rules or os2Lib.rules)
report it as a bug. It remains your problem (you should contact and
flame the author for dirty hacks), if some Imakefile contains
Unixisms, such as 'sh' command sequences.
--- XKB does not work.
Leave this alone for now, and use a Xmodmap file instead.
--- XDM is missing.
It needs some prerequisites for porting.
--- Some code from the ported software page is buggy.
Maybe. Bugs are in the responsibility of the person who ported it.
Send a bug report this person.
-- "xterm -e commandname" does not work as expected.
If "commandname"="CMD.EXE", it works, but if it is for instance 'ls'
only a window is opened, but no output is generated.